function [scheduledTargets, scheduledPriorities, status] = SCP_Construction(PQ, s1OlTargets, s1OlBins, s2OlTargets, s2OlBins, scheduledTargets, scheduledPriorities)

while (PQ_Size(PQ) > 0)
  [PQ, target_id, priority] = PQ_Fetch_Task(PQ, 2);
  if (target_id < 1) || (priority < 0)
    break;
  end

  if any(scheduledTargets == target_id)
    continue;
  end

  [scheduledTargets, scheduledPriorities, status] = SCP_NetworkGrow(s1OlTargets, s1OlBins, s2OlTargets, s2OlBins, scheduledTargets, scheduledPriorities, target_id, priority);
  if ~status
    continue;
  end
end

status = 1;
end % function